package collect;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Java 9新增的不可变集合
 * @author galen
 */
public class Java9Collection {
    public static void main(String[] args) {
        Set<String> set = Set.of("Java", "PHP", "Go", "Web");
        System.out.println(set);
        // 不可变集合，下面代码导致运行时错误
        // set.add("Ruby");

        List<Integer> list = List.of(34, -25, 67, 231);
        System.out.println(list);
        // 不可变集合，下面代码导致运行时错误
        // list.remove(1);

        Map<String, Integer> map = Map.of("语文", 89, "数学", 82, "英语", 92);
        System.out.println(map);
        // 不可变集合，下面代码导致运行时错误
        // map.remove("语文");
        
        // 使用Map.entry()方法显式构建key-value对
        Map<String, Integer> map2 = Map.ofEntries(Map.entry("语文", 89), Map.entry("数学", 82), Map.entry("英语", 92));
        System.out.println(map2);

        // 不可变意味着程序不能向集合中添加元素，也不能从集合中删除元素。
    }
}
